Bab 6 — MySQL Dasar
Belajar Menyimpan & Mengelola Data
Apa Saja yang Kita Pelajari?
Apa Itu Database?
Database adalah tempat untuk menyimpan data secara rapi dan terstruktur agar mudah dicari, diubah, dan dikelola — seperti lemari arsip raksasa.
(Database)
(Table)
(Row)
(Column)
Komponen Database
Wadah utama semua data"] --> B["📋 TABLE
Kumpulan data sejenis"] B --> C["➡️ ROW / RECORD
Satu baris data"] B --> D["⬇️ COLUMN / FIELD
Satu jenis informasi"]
Tabel: Spreadsheet yang Lebih Powerful
Header = Column (jenis data). Tiap baris = Row (satu catatan).
| id_buku | judul | penulis | genre | tahun |
|---|---|---|---|---|
| 1 | Laskar Pelangi | Andrea Hirata | Fiksi | 2005 |
| 2 | Bumi Manusia | Pramoedya | Sejarah | 1980 |
| 3 | Negeri 5 Menara | A. Fuadi | Fiksi | 2009 |
| 4 | Filosofi Teras | Henry Manampiring | Self-help | 2018 |
Primary Key
Primary Key = kolom ID unik untuk membedakan tiap baris. Tidak boleh kosong (null) dan tidak boleh duplikat.
Foreign Key
Foreign Key = kolom yang menghubungkan satu tabel ke Primary Key tabel lain. Inilah cara tabel saling "berbicara".
📋 peminjaman
📋 buku
id_buku di tabel peminjaman menunjuk ke id_buku di tabel buku 🔗
Berkenalan dengan SQL
SQL = Structured Query Language — bahasa untuk berbicara dengan database.
ALUR SEBUAH QUERY:
(Aplikasi)"] --> B["📝 SQL Query"] B --> C["⚙️ Database Engine
(MySQL)"] C --> D["📊 Result Set
(Hasil)"]
SELECT — Membaca Data
HASIL QUERY
| judul | genre |
|---|---|
| Laskar Pelangi | Fiksi |
| Bumi Manusia | Sejarah |
| Negeri 5 Menara | Fiksi |
INSERT — Menambah Data
DATA BARU MASUK ↓
| id | judul | tahun |
|---|---|---|
| 1 | Laskar Pelangi | 2005 |
| 2 | Bumi Manusia | 1980 |
| 3 | Pulang ✨ | 2015 |
UPDATE — Mengubah Data
DELETE — Menghapus Data
WHERE — Menyaring Data
genre = 'Fiksi' →
| judul | genre |
|---|---|
| Laskar Pelangi | Fiksi |
| Bumi Manusia | Sejarah |
| Negeri 5 Menara | Fiksi |
| Filosofi Teras | Self-help |
ORDER BY — Mengurutkan Data
| tahun ↓ | judul |
|---|---|
| 2018 | Filosofi Teras |
| 2009 | Negeri 5 Menara |
| 2005 | Laskar Pelangi |
LIKE — Mencari Pola
Wildcard % = nol atau banyak karakter:
Kapan Pakai WHERE / ORDER BY / LIKE?
dengan syarat?"} B -- "Ya, cocok persis" --> C["✅ WHERE
genre = 'Fiksi'"] B -- "Ya, cari pola teks" --> D["✅ LIKE
judul LIKE '%an'"] A --> E{"Mengatur urutan?"} E -- "Ya" --> F["✅ ORDER BY
tahun DESC"]
Mini Project: Database Perpustakaan 📚
Kita akan merancang database nyata dengan 3 tabel yang saling berhubungan.
buku
Daftar koleksi buku
anggota
Data peminjam
peminjaman
Transaksi pinjam
ER Diagram Perpustakaan
id_anggota PK
id_buku FK • id_anggota FK
id_buku PK
SQL Schema Perpustakaan
Query Praktek Perpustakaan
WHERE genre = 'Fiksi';
VALUES ('Rina', 'X RPL 1');
WHERE id_buku = 2;
WHERE id_pinjam = 5;
JOIN buku b ON p.id_buku = b.id_buku
JOIN anggota a ON p.id_anggota = a.id_anggota;
Mind Map: MySQL Dasar
Latihan 1: Identifikasi Komponen
Perhatikan tabel berikut. Identifikasi Primary Key dan jelaskan mengapa. Lalu tambahkan 1 kolom baru yang menurutmu penting.
| id_buku | judul | genre |
|---|---|---|
| 1 | Pulang | Fiksi |
| 2 | Sapiens | Sains |
| 3 | Atomic Habits | Self-help |
Latihan 2: Tulis Query SQL
Tulis query SQL untuk kasus berikut:
- Tampilkan semua buku genre 'Fiksi', urut judul A–Z
- Tambahkan anggota baru: nama kamu sendiri
- Ubah status buku id_buku = 3 jadi 'Dipinjam'
1. SELECT * FROM buku WHERE genre='Fiksi' ORDER BY judul ASC;
2. INSERT INTO anggota (nama) VALUES ('Namamu');
3. UPDATE buku SET status='Dipinjam' WHERE id_buku=3;
Tugas: Database Toko Online Mini 🛒
Rancang database sederhana untuk Toko Online:
- Buat min. 2 tabel: produk + pembeli
- Tentukan Primary Key & Foreign Key
- Tulis 5 query: SELECT, INSERT, UPDATE, DELETE, + WHERE
- Gambar ER Diagram relasi antar tabel
📋 Pengumpulan
Format: screenshot SQL + foto/Canva ER Diagram.
Deadline: [isi tanggal]
Penilaian: Struktur tabel (30%) • Ketepatan query (40%) • ER Diagram (30%)
"Data adalah minyak baru dunia digital — dan kamu baru saja belajar cara menyaringnya."
SELANJUTNYA